package com.guigu.tms.commons.aggregation.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 司机作业单
 * </p>
 *
 * @author wj
 * @since 2022-10-21
 */
@TableName("pd_driver_job")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DriverJob implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private String id;

    /**
     * 起始机构id
     */
    private String startAgencyId;

    /**
     * 目的机构id
     */
    private String endAgencyId;
    /**
     * 目的机构名称
     */
    private String jgName;
    /**
     * 作业状态，1为待执行（对应 待提货）、2为进行中（对应在途）、3为改派（对应 已交付）、4为已完成（对应 已交付）、5为已作废
     */
    private Integer status;

    /**
     * 司机id
     */
    private String driverId;

    //车辆
    @TableField(exist = false)
    private String truckId;

    @TableField(exist = false)
    private Truck truck;

    //别名
    @TableField(exist = false)
    private String UserId;


    //用户表姓名
    @TableField(exist = false)
    private String name;
    /**
     * 运输任务id
     */
    private String taskTransportId;

    /**
     * 提货对接人
     */
    private String startHandover;

    /**
     * 交付对接人
     */
    private String finishHandover;

    /**
     * 计划发车时间
     */
    private LocalDateTime planDepartureTime;

    /**
     * 实际发车时间
     */
    private LocalDateTime actualDepartureTime;

    /**
     * 计划到达时间
     */
    private LocalDateTime planArrivalTime;

    /**
     * 实际到达时间
     */
    private LocalDateTime actualArrivalTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    @TableField(exist = false)
    private TaskTransport taskTransport;
    @TableField(exist = false)
    private TruckDriver truckDriver;
    @TableField(exist = false)
    private CoreOrg orgstartAgency;
    @TableField(exist = false)
    private CoreOrg orgendAgency;
}
